home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / awe2-0_1.lha / awe2-0.1 / Src / MultiCpuMuxExceptions.h < prev    next >
C/C++ Source or Header  |  1990-07-09  |  1KB  |  64 lines

  1. // This may look like C code, but it is really -*- C++ -*-
  2. // 
  3. // Copyright (C) 1988 University of Illinois, Urbana, Illinois
  4. // Copyright (C) 1989 University of Colorado, Boulder, Colorado
  5. // Copyright (C) 1990 University of Colorado, Boulder, Colorado
  6. //
  7. // written by Dirk Grunwald (grunwald@foobar.colorado.edu)
  8. //
  9. #ifndef MultiCpuMuxExceptions_h
  10. #define MultiCpuMuxExceptions_h
  11. #pragma once
  12.  
  13. #include <ExceptionClass.h>
  14.  
  15. //
  16. //    ExceptionRelocate -- Can also be
  17. //    used to move to another CPU (i.e. previous to killing a cpu or
  18. //    spawning a CPU)
  19. //
  20.  
  21. class ExceptionRelocate : public ExceptionClass {
  22.     int newCpu;
  23. public:
  24.     ExceptionRelocate();
  25.     void cpu(int = -1);
  26.     virtual void handleException();
  27. };
  28.  
  29. inline
  30. ExceptionRelocate::ExceptionRelocate()
  31. {
  32. }
  33.  
  34. inline void
  35. ExceptionRelocate::cpu(int c)
  36. {
  37.     newCpu = c;
  38. }
  39.  
  40. //
  41. // ExceptionEnrollDismissCpu -- enroll or dismiss a new cpu.
  42. //
  43. class ExceptionEnrollDismissCpu : public ExceptionClass {
  44.     int enrollOrDismiss;
  45. public:
  46.     void enroll();
  47.     void dismiss();
  48.     virtual void handleException();
  49. };
  50.  
  51. inline void
  52. ExceptionEnrollDismissCpu::enroll()
  53. {
  54.     enrollOrDismiss = 1;
  55. }
  56.  
  57. inline void
  58. ExceptionEnrollDismissCpu::dismiss()
  59. {
  60.     enrollOrDismiss = 0;
  61. }
  62.  
  63. #endif /* MultiCpuMuxExceptions_h */
  64.